/*
 * @lc app=leetcode.cn id=973 lang=golang
 * @lcpr version=30118
 *
 * [973] 最接近原点的 K 个点
 */

// @lcpr-template-start
package main

import "sort"

// @lcpr-template-end
// @lc code=start

type Points [][]int

func (p Points) Len() int {
	return len(p)
}

func (p Points) Less(i, j int) bool {
	return p[i][0]*p[i][0]+p[i][1]*p[i][1] < p[j][0]*p[j][0]+p[j][1]*p[j][1]
}

func (p Points) Swap(i, j int) {
	p[i], p[j] = p[j], p[i]
}

func kClosest(points [][]int, k int) [][]int {
	sort.Sort(Points(points))

	return points[:k]
}

// @lc code=end

/*
// @lcpr case=start
// [[1,3],[-2,2]]\n1\n
// @lcpr case=end

// @lcpr case=start
// [[3,3],[5,-1],[-2,4]]\n2\n
// @lcpr case=end

*/
